# _*_ coding:utf-8 _*_
# 开发人员：zhu
# 项目名称：xlssjxm
# 开发时间：2022/2/2222:11
# 开发工具：PyCharm
import requests,openpyxl
import numpy as np
from bs4 import BeautifulSoup
#第一步：爬取2500个常用汉字
URL='https://www.zdic.net/zd/zb/cc1/'  #主网页
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}  #没个人的浏览器这里可能不一样

html=requests.get(url=URL,headers=headers)

res=BeautifulSoup(html.text,"html.parser")
all_info=res.find("div",class_="nr-box")
Chinese=all_info.find_all("div",class_="bs_index3")
CH=[]
all_Chinese=[]  #储存2500个常用汉字
for i in Chinese:
    CH.append(i.text.strip('\n').split('\n'))  #列表CH是列表嵌套列表的形式。需要转化成一个常规列表（每个元素是一个文字）
for ch in CH:
    for i in ch:
        all_Chinese.append(i)
#第二步，制作随机名
name_list=[]  #储存名字的列表
for n in range(100):   #想要取几个随机名字就改成多少，这里是100个
    idxs = np.random.randint(0, len(all_Chinese), size=6)  # 生成长度为6的随机数组，作为索引
    name=[]  #用于存取6个字符的列表
    for i in idxs:
        name.append(all_Chinese[i])
    name1="".join(name)  #将列表中的元素拼接成字符串并且储存在列表中
    name_list.append([name1])
    print(name1)
#第三步，写入excel中：
wb = openpyxl.Workbook() #写入对象，用到openpyxl.Workbook()函数
sheet = wb.active #获取该工作薄的活动工作表，通常是第一个sheet
sheet.title = '随机结果' #把活动工作表命名为‘随机结果’
sheet["A1"]="随机名字（6个字符）"
for i in name_list:
    sheet.append(i)
wb.save('D:\\随机取名.xlsx')  #把该工作薄命名并保存


